import { IPaginationQuery } from './common.type';

/**
 * 角色实体（响应）
 */
export interface IRole {
  id: string;
  code: string;
  name: string;
  status: number;
  description?: string | null;
  createdAt?: string | null;
  updatedAt?: string | null;
}

/**
 * 创建角色请求
 */
export interface ICreateRole {
  code: string;
  name: string;
  status: number;
  description?: string;
}

/**
 * 更新角色请求
 */
export interface IUpdateRole {
  code?: string;
  name?: string;
  status?: number;
  description?: string;
}

/**
 * 查询角色请求
 */
export interface IQueryRole extends IPaginationQuery {
  code?: string;
  name?: string;
  status?: number;
}

/**
 * 分配权限请求
 */
export interface IAssignPermissions {
  menuIds: string[];
}

/**
 * 分配用户请求
 */
export interface IAssignUsers {
  userIds: string[];
}
